package com.droid.users.bus;

import java.util.ArrayList;

import com.droid.persistor.dao.Gasto;
import com.droid.persistor.dao.Usuario;
import com.droid.persistor.facade.PersistorFacade;
import com.droid.users.connector.UsuarioConnector;

public class UsuarioBusiness {

	public String cambiarPass(String usuEmail, String pass) {
		UsuarioConnector conn = new UsuarioConnector();
		Usuario usudb = conn.getUsuarioFromDB(usuEmail);

		String passencryp = conn.getPassword(pass, usudb.getIdUsuario());

		String usu = conn.cambiarPass(usuEmail,passencryp);
		return usu;

	}
	
	public String getUsuario(String usuEmail, String pass) {
		String passencryp = null;

		UsuarioConnector conn = new UsuarioConnector();
		Usuario usu = conn.getUsuarioFromDB(usuEmail);
		passencryp = conn.getPassword(pass, usu.getIdUsuario());
		String msg=null;
		if (usu != null) {
			if (usu.getEstado().equalsIgnoreCase("D")) {
				msg="CambiarPass";
			} else {
				if (validPasw(usu, passencryp)) {
					msg="loginOk";
				} else {
					msg="invalidPass";
				}
			}
		}
		return msg;
	}

	public String getUsuarioMail(String usuEmail) {
		UsuarioConnector conn = new UsuarioConnector();
		Usuario usu = conn.getUsuarioFromDB(usuEmail);
		String msg;

		if (usu != null) {
			msg = usu.getEmail();
		} else {
			msg = "";
		}

		return msg;
	}

	private boolean validPasw(Usuario usu, String pass) {
		if (pass.equals(usu.getPassword())
				&& usu.getEstado().equalsIgnoreCase("A")) {
			return true;
		} else {
			return false;
		}

	}

	public ArrayList<Gasto> getUsuarioGasto(String usuEmail) {
		String respuesta = "";
		UsuarioConnector conn = new UsuarioConnector();
		ArrayList<Gasto> gto = conn.getGastoFromDB(usuEmail);

		return gto;

	}

	public String crearUsuario(String email, String password, String nombre,
			String apellido) {

		UsuarioConnector conn = new UsuarioConnector();
		conn.altaUsuario(email, password, nombre, apellido);

		return null;
	}

	public String recupassUsuario(String email) {

		UsuarioConnector conn = new UsuarioConnector();
		String pass = conn.recupassUsuario(email);

		if (pass.toString().isEmpty()) {
			return "Datos incorrectos";
		} else {

			return pass;
		}
	}

	public String desactivarUsuario(String email) {

		UsuarioConnector conn = new UsuarioConnector();
		String msg = conn.desactivarUsuario(email);

		return msg;
	}

	public String activarUsuario(String email) {

		UsuarioConnector conn = new UsuarioConnector();
		String msg = conn.activarUsuario(email);

		return msg;
	}

	public String[] checkObjUsuario(String email) {

		UsuarioConnector conn = new UsuarioConnector();
		String[] msg = conn.checkObjUsuario(email);

		return msg;
	}
}
